﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using Fcdbas.Core.WCF.TransFile.Contracts.Enums;

namespace Fcdbas.Core.WCF.TransFile.Contracts.Models
{
    [DataContract]
    public class TransFilesOnServerModel
    {
        public TransFilesOnServerModel()
        { }


        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="spaceType">文件类型</param>
        /// <param name="customFolder">自定义文件夹</param>
        /// <param name="originalPath">源相对路径</param>
        /// <param name="targetPath">目标相对路径</param>
        public TransFilesOnServerModel(string originalPath, string targetPath)
        {
            OriginalPath = originalPath;
            TargetPath = targetPath;
        }

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="spaceType">文件类型</param>
        /// <param name="customFolder">自定义文件夹</param>
        /// <param name="originalPath">源相对路径</param>
        /// <param name="targetPath">目标相对路径</param>
        public TransFilesOnServerModel(SpaceType spaceType, string customFolder, string originalPath, string targetPath)
        {
            OriginalSpaceType = spaceType;
            TargetSpaceType = spaceType;
            OriginalCustomFolder = customFolder;
            TargetCustomFolder = customFolder;
            OriginalPath = originalPath;
            TargetPath = targetPath;
        }

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="originalSpaceType">文件类型</param>
        /// <param name="originalCustomFolder">源自定义文件夹</param>
        /// <param name="targetCustomFolder">目标自定义文件夹</param>
        /// <param name="originalPath">源相对路径</param>
        /// <param name="targetPath">目标相对路径</param>
        public TransFilesOnServerModel(SpaceType spaceType, string originalCustomFolder, string targetCustomFolder, string originalPath, string targetPath)
        {
            OriginalSpaceType = spaceType;
            TargetSpaceType = spaceType;
            OriginalCustomFolder = originalCustomFolder;
            TargetCustomFolder = targetCustomFolder;
            OriginalPath = originalPath;
            TargetPath = targetPath;
        }

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="originalSpaceType">源文件类型</param>
        /// <param name="targetSpaceType">目标文件类型</param>
        /// <param name="originalCustomFolder">源自定义文件夹</param>
        /// <param name="targetCustomFolder">目标自定义文件夹</param>
        /// <param name="originalPath">源相对路径</param>
        /// <param name="targetPath">目标相对路径</param>
        public TransFilesOnServerModel(SpaceType originalSpaceType, SpaceType targetSpaceType, string originalCustomFolder, string targetCustomFolder, string originalPath, string targetPath)
        {
            OriginalSpaceType = originalSpaceType;
            TargetSpaceType = targetSpaceType;
            OriginalCustomFolder = originalCustomFolder;
            OriginalCustomFolder = targetCustomFolder;
            OriginalPath = originalPath;
            TargetPath = targetPath;
        }

        /// <summary>
        /// 文件类型
        /// </summary>
        private SpaceType _OriginalSpaceType= SpaceType.Custom;


        public SpaceType OriginalSpaceType
        {
            get { return _OriginalSpaceType; }
            set { _OriginalSpaceType = value; }
        }

        /// <summary>
        /// 文件类型
        /// </summary>
        private SpaceType _TargetSpaceType= SpaceType.Custom;

        public SpaceType TargetSpaceType
        {
            get { return _TargetSpaceType; }
            set { _TargetSpaceType = value; }
        }

        /// <summary>
        /// 自定义文件夹
        /// </summary>
        private string _OriginalCustomFolder;
        [DataMember]
        public string OriginalCustomFolder
        {
            get { return _OriginalCustomFolder; }
            set { _OriginalCustomFolder = value; }
        }

        /// <summary>
        /// 自定义文件夹
        /// </summary>
        private string _TargetCustomFolder;
        [DataMember]
        public string TargetCustomFolder
        {
            get { return _TargetCustomFolder; }
            set { _TargetCustomFolder = value; }
        }

        /// <summary>
        /// 原始路径
        /// </summary>
        private string _OriginalPath;
        [DataMember]
        public string OriginalPath
        {
            get { return _OriginalPath; }
            set { _OriginalPath = value; }
        }

        /// <summary>
        /// 目标路径
        /// </summary>
        private string _TargetPath;
        [DataMember]
        public string TargetPath
        {
            get { return _TargetPath; }
            set { _TargetPath = value; }
        }
    }
}
